Package bg.smoc.web.servlet.grade

Source Code of bg.smoc.web.servlet.grade.GradeCsvServlet

/**
*
*/
package bg.smoc.web.servlet.grade;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedList;
import java.util.ListIterator;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bg.smoc.model.Contest;
import bg.smoc.web.utils.SessionUtil;

import kr.or.ioi2002.RMIClientBean.HttpPostFileParser;

/**
* @author zbogi
*
* CSV file in format: contestId, userId, task
*
*/
public class GradeCsvServlet extends HttpServlet {

    /**
     *
     */
    private static final long serialVersionUID = -4753159772794540849L;

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        HttpPostFileParser ur = new HttpPostFileParser();
        ur.init(request);

        LinkedList<String[]> llist = new LinkedList<String[]>();

        if (ur.nFile > 0) {
            File fileSrcFile = ur.upFile[0].GetTmpFile();

            BufferedReader br = new BufferedReader(new FileReader(fileSrcFile));
            String line = null;
            while ((line = br.readLine()) != null) {
                java.util.StringTokenizer st = new java.util.StringTokenizer(line, ",");
                if (st.countTokens() < 3)
                    continue;

                String[] tuple = new String[3];
                tuple[0] = st.nextToken().trim();
                tuple[1] = st.nextToken().trim();
                tuple[2] = st.nextToken().trim();
                llist.add(tuple);
            }
            br.close();
        } else {
            response.getOutputStream().println("File Upload Failed");
        }
        response.getOutputStream().println("<body>" + "<table border=1>");

        ListIterator<String[]> it = llist.listIterator();
        while (it.hasNext()) {
            String[] tuple = it.next();
            Contest contest = SessionUtil.getInstance().getContestManager().getContest(tuple[0]);
            response.getOutputStream().print("     <tr>"
                    + "<td>"
                    + tuple[0]
                    + "</td>"
                    + "<td>"
                    + tuple[1]
                    + "</td>"
                    + "<td>"
                    + tuple[2]
                    + "</td>"
                    + "<td>"
                    + (contest == null ? false : SessionUtil.getInstance().getGraderManager()
                            .grade(contest, tuple[1], tuple[2]))
                    + "</td>"
                    + "</tr>");
        }
        response.getOutputStream().print("</table>" + "<a href=\"main\">OK</a>" + "</body>");
        response.setContentType("text/html");
    }
}
TOP

Related Classes of bg.smoc.web.servlet.grade.GradeCsvServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.